﻿using System;
using Activa.LazyParser;

namespace Activa.SharpTemplate
{
	public class EvaluatedIteratorEventArgs : EvaluatedEventArgs
	{
		private readonly string _iteratorName;
		private readonly object _iterator;
		private readonly int _rowNumber;
		private readonly IParserContext _localContext;

		public EvaluatedIteratorEventArgs(string iteratorName, object iterator, int rowNumber, IParserContext localContext)
		{
			_iteratorName = iteratorName;
			_iterator = iterator;
			_rowNumber = rowNumber;
			_localContext = localContext;
		}

		public string IteratorName
		{
			get { return _iteratorName; }
		}

		public object Iterator
		{
			get { return _iterator; }
		}

		public int RowNumber
		{
			get { return _rowNumber; }
		}

		public IParserContext LocalContext
		{
			get { return _localContext; }
		}
	}
}